
s1_read_last_two_bytes_of_a_mbr_backup_file(){
local file_path=$1
local last_bytes=$(tail -c 2"$file_path" | od -A n -t x1 | tr -d '\n')
if [ "$lastbytes" = "55aa" ];then
	echo "YES"
else 
	echo "NO"
fi
}

s2_read_mdr_partition_table_info(){
      for i in{0..3}; do
	      offest=$((446 + i * 16))
	      start_sector$(dd if="$1" bs=1 skip=$((offest + 8)) count=4 2>/dev/null | od -t u4 -An | tr -d ' \n')
	      if ! [[ $statrt_sector =~ ^[0-9]+$ ]];then
		      continue
	      fi
	      if [ "start_sector" -eq 0 ];then
		     continue
	     fi
	     size_sector=$(dd if="$1" bs=1 skip=$((offest +12)) count=4 2>/dev/null | od -t u4 -An | tr _d '\n')
	     end_sector=$((start_sector + size_sector-1))
	    echo "$start_sector $end_sector"
    done 
}

s3_parse_partition_info(){
	fdisk_output=$(cat)
	disk_size_bytes=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $5}')
	disk_size_sectors=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $7}')
	physical_sector_size=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $4}')
	first_partition_start_sector=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $3}')
	first_partition_end_sector=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $4}')
	first_partition_type=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $8}')
	echo "disk size in bytes:$disk_size_bytes"
	echo "disk size in sectors:$disk_size_sectors"
	echo "physical sector size in bytes:$physical_sector_size"
	echo "first partition start sector id:$first_patition_start_sector"
	echo "first partition end sector id:$first_patition_end_sector"
	echo "first partition type:$first_partition_type"
}

s4_run_passwd_as_plain_user_and_get_status(){
	oversleeping_path=$(which oversleeping)
	chown root "$oversleeping_path"
	chomd 4755 "$oversleeping_path"
       oversleeoing &
ps -o uid,euid,ruid -C oversleeping | awk 'NR>1 {print $1","$2","$3}'       
}

s5_add_a_scheduled_task（）{
touch $HOME/test_crontab;
echo "*/5 * * * * date +\%Y\%Mm\%d_\%H\%M\%S >> $HOME/test_crontab" | crontab -:
}
